#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project ：employment_class 
@File    ：04_redis.py
@IDE     ：PyCharm 
@Author  ：小邓的烂笔头
@Date    ：2021/10/30 下午12:43 
"""

"""
redis 连接： 
    默认端口6379
    启动redis service redis start
    关闭redis service redis stop
    查看redis进程信息 ps ajx | grep redis
"""

"""
数据操作
    类型： 字符串 strinng、哈希hash、列表list、集合set、有序集合、zset
    
操作：
    set
        set key value 设置键值对(存在则修改，不存在则增加)
        setex key 过期时间 value 设置多久过期的键值对
        expire key seconds (设置已存在的键的过去时间)
            ttl key 查看键的过期时间
    get
        get key 通过键获取值
        mget key key2 通过键获取多个值
    
    运算
        append 增加
            append key value（往值后面增加）
        strlen key 获取值得长度
"""

"""
键命令
    查找键：
        keys pattern (*) * 查看所有建，pattern支持正则表达式
    判断键是否存在，1存在，0不存在
        exists key
    查看键对应值类型
        type key
    删除键及对应的值
        del key
"""

"""
hash 存储对象
    设置单个属性
        hset key field value
    设置多个属性
        hmget key field value value2
    获取单个属性
        hget key field
    获取多个属性
        hmget key field
    获取所有属性
    hkeys key
            内部的值
                {
                    name : 11
                    nihao :22
                }
        :name
        :nihao
"""

"""
list 
    在头部插入数据
        lpush key value
    在尾部插入数据
        rpush key value
    在一个元素的前|后插入元素
        linsert key berore|after(前|后) 索引 值
    获取值
        rpop key
        lrange key start stop(获取list中的start开始索引到stop结束索引的值)
    裁剪
        ltrim key start stop
        
"""

"""
set 
    元素唯一，不能重复
    添加元素
        sadd key member
    获取
        smembers key
    返回所有元素
        smembers key
    
    交集、并集
        sinter key 
"""
# ------------------------------------------------------------
"""
发布订阅
    subscribe 频道名称（连接）
    unsubscribe 频道名称（断开）
    publish 频道 消息
"""

# 切换数据库 select 数据库名


# 与python交互

# import redis
#
# try:
#     r = redis.StrictRedis(host='localhost', port=6379)
# except Exception as e:
#     print('redis连接失败：「{}」'.format(e))

# 写
# pipe = r.pipeline()
# pipe.set('py11','world')
# pipe.set('py10','hello')
# pipe.execute()

# 读
# temp = r.get('py10')
# print(temp)
# print(r.keys())

#
# import redis
#
#
# class RedisHelper(object):
#     def __init__(self, host, port):
#         self.__redis = redis.StrictRedis(host, port)
#
#     def set(self, key, value):
#         self.__redis.set(key,value)
#
#     def get(self,key):
#         return self.__redis.get(key)
#

